import axios from 'axios'
import { ElLoading } from 'element-plus'
const request = axios.create({
    baseURL: '/api',
    timeout: 6000
});
let loading;
// 添加请求拦截器
request.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    // 加载loading
    loading = ElLoading.service({
        lock: true,
        text: '加载中...',
        background: 'rgba(0, 0, 0, 0.7)',
    })
    return config;
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});

// 添加响应拦截器
request.interceptors.response.use(function (response) {
    // 对响应数据做点什么
    loading.close()
    if (response.data.code != 200) {
        // 判断状态码
        if (response.data.code == 401) {
            return Promise.reject('无效的会话，请重新登录')
        } else if (response.data.code == 403) {
            return Promise.reject('您没有权限访问该资源')
        } else if (response.data.code == 404) {
            return Promise.reject('请求的资源不存在')
        } else if (response.data.code == 500) {
            return Promise.reject('服务器内部错误')
        } else {
            return Promise.reject('未知错误')
        }
    } else {
        return response;
    }
}, function (error) {
    // 对响应错误做点什么
    loading.close()
    return Promise.reject(error);
});
export default request;